<?php

namespace api\utils;

use Yii;

class FileUtil
{
    public static function addFileToZip($path, $zip)
    {
        $handler = opendir($path); //打开当前文件夹由 $path 指定
        while (($filename = readdir($handler)) !== false) {
          if ($filename != '.' && $filename != '..') { //文件夹文件名字为'.'和‘..'，不要对他们进行操作
            if (is_dir("$path/$filename")) { // 如果读取的某个对象是文件夹，则递归
                static::addFileToZip("$path/$filename", $zip);
            } else { //将文件加入zip对象
                $zip->addFile("$path/$filename");
            }
          }
        }
        @closedir($path);
    }

    public static function createFile($path = 'temp', $filename)
    {
        $basicUrl = Yii::$app->getRuntimePath() . DIRECTORY_SEPARATOR . $path;
        if (!is_dir($basicUrl)) {
            @mkdir($basicUrl, 0755, true);
            @chmod($basicUrl, 0755);
        }
        $filename = $basicUrl . DIRECTORY_SEPARATOR . $filename;
        @chmod($filename, 0775);
        return $filename;
    }
}
